<?php
	include("../util.php");
	include("../config.inc.php");
	include("../clases.php");

	session_start();

if(!$_SESSION["obj_sesion"]->compruebaAcceso("ADME")){	
	echo "<script language='javascript'>location.href='salir.php'</script>";
	die(); }
		

switch($_REQUEST["action"]){

/*#######################################################################################################################################################*/
/*########################################################################  GRID  #######################################################################*/
/*#######################################################################################################################################################*/
	
	// Carga los datos que se mostraran en el grid
	case 'grid':{
	
		$page = $_GET['page']; // get the requested page
		$limit = $_GET['rows']; // get how many rows we want to have into the grid 
		$sidx = $_GET['sidx']; // get index row - i.e. user click to sort 
		$sord = $_GET['sord']; // get the direction 
		if(!$sidx) $sidx =1; 
		
		descodificar_utf8_array($_GET);
		$campos = array('id_cliente','nombre','direccion','localidad','provincia','telefono','email','id_proveedor');
		$traductor = array('c.id_cliente','c.nombre','c.direccion','c.localidad','c.provincia','c.telefono','c.email','p.nombre');
		$result = consultaSimple("cliente","fecha_baja IS NULL","","COUNT(*) AS count");
		$count = $result['count']; 

		if( $count >0 ) { 
			$total_pages = ceil($count/$limit); 
		} else { 
			$total_pages = 0;
		} 
		if ($page > $total_pages) 
			$page=$total_pages; 

		$start = $limit*$page - $limit;

		$table =" cliente c, proveedores p ";
		$where ="";
	
		$select = ' c.id_cliente AS id_cliente '.formar_select_jqgrid($campos,$traductor);
		$where .=" c.fecha_baja IS NULL AND c.id_proveedor = p.id_proveedor ";
		$where .= formar_where_jqgrid($campos,$traductor,$_GET);
		$result = consultaMultiple($table,$where,"ORDER BY $sidx $sord LIMIT $start , $limit",$select);
		pasar_utf8_array($result);
		$responce->page = $page; 
		$responce->total = $total_pages; 
		$responce->records = $count; 
		
		for($i=0;$i<count($result);$i++){
			$responce->rows[$i]['id']=$result[$i]["id_cliente"]; 
			for($x=0;$x<count($campos);$x++){
				/*if ($x == 4) {
					$y=$x-2;
					$udspalet=$result[$i][$campos[$y]]/$result[$i][$campos[$x]];
					$responce->rows[$i]['cell'][]=number_format($udspalet, 2, ",", ".");;
				} else { */
					$responce->rows[$i]['cell'][]=$result[$i][$campos[$x]];
				//}
				}
		}
		echo json_encode($responce); 
		die();
	}

/*#######################################################################################################################################################*/
/*##################################################################  FORMULARIO  #######################################################################*/
/*#######################################################################################################################################################*/
	
	case 'form':{
		
		// Vector donde se almacenan los datos del cliente
		$vector= array();
		
		// Accion a realizar
		$_action = "insertar";
		
		// Si existe la variable $_REQUEST["id_cliente"] el formulario y los datos a mostrar pasan a ser de modificación
		if (isset($_REQUEST["id_cliente"])){
			
			$_action = "modificar";
			// $vector guarda los datos del cliente que contenga ese id_cliente
			$vector = consultaSimple("cliente","fecha_baja is null and id_cliente=".$_REQUEST["id_cliente"]);
			pasar_utf8_array($vector);
			
		}
		
		// $proveedor guarda todos los datos de los proveedores
		$proveedor=consultaMultiple("proveedores","fecha_baja is null","","id_proveedor, nombre");
		pasar_utf8_array($proveedor);
		
		// Cuenta el numero de proveedores
		$cuent=consultaSimple("proveedores","fecha_baja is null","","COUNT(*) as cuenta");
		$cuentap=$cuent['cuenta'];
		
		// Si la accion es "insertar" y el usuario no es "Superusuario", le  informara de que no tiene permisos para ver este formulario
		if($_action=="insertar" && ( $_SESSION["obj_sesion"]->getTipo()!="Superusuario"))
		{die('<fieldset style="width:95%;">
						<legend class="txt_normal">
							<b>
								Atenci&oacute;n
							</b>
						</legend>
						<center>
							No tiene permisos para crear clientes, ya que su nivel de usuario es insuficiente.
							<br>
							<input type="button" onclick="volver()" value="Volver" />
						</center>
					</fieldset>');}
		else {
			// Menu desplegable de clientes
				echo '<tr><td width="90%"><div style="width:100%">
					<fieldset  style="width: 759px;">
					<legend class="txt_normal">
						<b>
							Datos Clientes
						</b>
					</legend>';
					// Carga el formulario para la inserción. Si fuese de modificación cargaría el formulario con los datos obtenidos del la variable $vector
			echo '	<form id="form_datos" >
					<input type="hidden" id="id_cliente" name="id_cliente" value="'.$_REQUEST['id_cliente'].'"/>
			
					<table border="0" cellpadding="3" cellspacing="2" width="759px" align="center">
					<tr>
						<td width="30%" align="right" id="nombre">
							Nombre (*):
						</td>
						<td>
							<input type="text" name="nombre" id="nombre" class="requeridos" size="50" maxlength="100" value="'.utf8_decode($vector['nombre']).'"/>
						</td>
					</tr>
					<tr>
						<td width="30%" align="right">
							CIF :
						</td>
						<td>
							<input type="text" name="cif" id="cif" size="50" maxlength="9" value="'.$vector['cif'].'"/>
						</td>
					</tr>
					<tr>
						<td width="30%" align="right" id="direccion">
							Direccion (*):
						</td>
						<td>
							<input type="text" class="requeridos" name="direccion" id="direccion" size="50" maxlength="100" value="'.utf8_decode($vector['direccion']).'"/>
						</td>
					</tr>
					
					<tr>
						<td width="30%" align="right" id="localidad">
							Localidad (*):
						</td>
						<td>
							<input type="text" name="localidad" class="requeridos" id="localidad" size="50" maxlength="50" value="'.utf8_decode($vector['localidad']).'"/>
						</td>
					</tr>
					<tr>
						<td width="30%" align="right">
							Codigo Postal :
						</td>
						<td>
							<input type="text" name="codigo_postal" id="codigo_postal" size="50" onKeyPress="return comprobar_solonumeros(event);"  maxlength="5" value="'.$vector['codigo_postal'].'"/>
						</td>
						</tr>
					
					<tr>
						<td width="30%" align="right" id="provincia">
							Provincia (*):
						</td>
						<td>
							<input type="text" name="provincia" class="requeridos" size="50" maxlength="50" value="'.utf8_decode($vector['provincia']).'"/>
						</td>
					</tr>
					<tr>
						<td width="30%" id="telefono" align="right" >
							Telefono(*): 
						</td>
						<td width="60%">
							<input type="text" size=50 maxlength="9" name="telefono" class="requeridos" onKeyPress="return comprobar_solonumeros(event);" value="'.$vector['telefono'].'" />
						</td>
					<tr>
						<td width="30%" align="right">
							Fax :
						</td>
						<td>
						<input type="text" name="fax" id="fax" size="50" onKeyPress="return comprobar_solonumeros(event);" maxlength="9" value="'.$vector['fax'].'"/>
						</td>
					</tr>
					<tr>
						<td width="30%" align="right">
							Email :
						</td>
						<td>
							<input type="text" name="email" id="email" size="50" maxlength="50" value="'.$vector['email'].'"/>
						</td>
					</tr>
					<tr>	
						<td width="30%" align="right" id="id_proveedor">
							<input type="hidden"  />
								Proveedor (*):
						</td>
						<td style="text-align:left;">
							<select name="id_proveedor" id="id_proveedor" class="requeridos"> ';
				
						// Combobox que carga los proveedores
						if($vector['id_proveedor'] == null){echo '<option value=0>Seleccione proveedor</option>';}
						for($i=1;$i<=$cuentap;$i++){
							if($vector['id_proveedor']== $i){
									echo '<option value='.$i.' selected="selected">'.$proveedor[$i-1]['nombre'].'</option>';
								}else{
									echo '<option value='.$i.'>'.$proveedor[$i-1]['nombre'].'</option>';}
								}
						echo'
						</select>
						</td>
					
					</tr>
					<tr>
						<td class="txt_normal_neg" colspan="2" align="center">
							Los campos marcados con un asterisco (*) son campos obligatorios.
						</td>
					</tr>
					<tr>
						<td class="txt_normal_neg" style="text-align:center; " colspan="2">
							<div id="contenedor">
							</div>
						</td>
					</tr>	
					<tr>
						<td colspan="2" align="center">
							<input type="button" value="&nbsp;Aceptar" id="aceptar" style="width:100px; " class="aceptar" onClick="javascript:guardar(\''.$_action.'\');" />
							<input type="button" class="volver" onclick="volver()" value="Volver" />
						</td>
					</tr>
					</table>
				
				</form>
			</fieldset>
			</div></td></tr>
			';}
		die();
	}

/*#######################################################################################################################################################*/
/*################################################### OPERACIONES DE EDICION DE REGISTROS ###############################################################*/
/*#######################################################################################################################################################*/
	
	// Inserta un nuevo cliente
	case 'insertar':{
		
		// Siguiente id_cliente a introducir
		$id_max = maxId("cliente","id_cliente");
		
		// Inserta los datos del cliente en la BD
		$vector = array();
		$vector['id_cliente'] = $id_max;
		$vector["nombre"] = $_GET["nombre"];
		$vector["cif"] = $_GET["cif"];
		$vector['direccion'] = $_GET['direccion'];
		$vector['localidad'] = $_GET['localidad'];
		$vector['codigo_postal'] = $_GET['codigo_postal'];
		$vector['provincia'] = $_GET['provincia'];
		$vector['telefono'] = $_GET['telefono'];
		$vector['fax'] = $_GET['fax'];
		$vector['email'] = $_GET['email'];
		$vector['id_proveedor'] = $_GET['id_proveedor'];
		insertaBD("cliente",$vector);
		
		die("OK");
	};
	
	
	// Modifica los datos del cliente seleccionado
	case 'modificar':{
       
       	// Modifica los datos del cliente	
		$vector = array();
		$vector['nombre'] = $_GET['nombre'];
		$vector['cif'] = $_GET['cif'];
		$vector['direccion'] = $_GET['direccion'];
		$vector['localidad'] = $_GET['localidad'];
		$vector['codigo_postal'] = $_GET['codigo_postal'];
		$vector['provincia'] = $_GET['provincia'];
		$vector['telefono'] = $_GET['telefono'];
		$vector['fax'] = $_GET['fax'];
		$vector['email'] = $_GET['email'];
		$vector['id_proveedor'] = $_GET['id_proveedor'];
		modificaBD("cliente",$vector,"id_cliente = ".$_REQUEST["id_cliente"]);
		
		die("OK");			
	};
	
	// Borra el cliente
	case 'borrar':{

		$vector = array();
		$vector["fecha_baja"] = date("Y-m-d H:i:s");
		
		// Pone la fecha de baja del cliente
		modificaBD("cliente",$vector,"id_cliente=".$_REQUEST["id_cliente"]);
		echo "<script language='javascript'>print_grid();</script>";
		
		die("OK");
	};
	
};
?>
